/*
 * Exercise_2_1_2.h
 *
 *  Created on: 10 déc. 2011
 *      Author: M. Alexandre (malexand314@gmail.com)
 */

#ifndef EXERCISE_2_1_2_H_
#define EXERCISE_2_1_2_H_

#include "../Exercise.h"

/**
 * \brief Exercise 2.1-2
 *        First, we implement the insertion sort algorithm as described in the chapter (non-decreasing order),
 *        and then we implement it like asked in the exercise (non-increasing).
 */
class Exercise_2_1_2 : public Exercise
{
    public:
        Exercise_2_1_2();
        virtual ~Exercise_2_1_2();

    private:
        virtual void implementation();
        void insertionSortIncreasing(int* _aiTableIn, int* _aiTableOut, int _iSize);
        void insertionSortDecreasing(int* _aiTableIn, int* _aiTableOut, int _iSize);
};

#endif /* EXERCISE_2_1_2_H_ */
